<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd">
<html lang="zh-CN"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta http-equiv="Content-Language" content="zh-CN"><link href="stylesheet.css" media="all" rel="stylesheet" type="text/css">
<title>自动清理</title>
<script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?d286c55b63a3c54a1e43d10d4c203e75"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script>
</head><body class="SECT1">
<div>
<table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><th colspan="5" align="center" valign="bottom">PostgreSQL 8.2.3 中文文档</th></tr>
<tr><td width="10%" align="left" valign="top"><a href="runtime-config-statistics.html" accesskey="P">后退</a></td><td width="10%" align="left" valign="top"><a href="runtime-config.html">快退</a></td><td width="60%" align="center" valign="bottom">章17. 服务器配置</td><td width="10%" align="right" valign="top"><a href="runtime-config.html">快进</a></td><td width="10%" align="right" valign="top"><a href="runtime-config-client.html" accesskey="N">前进</a></td></tr>
</table>
<hr align="LEFT" width="100%"></div>
<div class="SECT1"><h1 class="SECT1"><a name="RUNTIME-CONFIG-AUTOVACUUM">17.9. 自动清理</a></h1><a name="AEN21406"></a>
<p>这些设置控制<i class="FIRSTTERM">自动清理</i>的缺省行为。请参阅<a href="routine-vacuuming.html#AUTOVACUUM">节22.1.4</a>获取更多信息。</p>
<div class="VARIABLELIST">
<dl>
<dt><a name="GUC-AUTOVACUUM"></a><tt class="VARNAME">autovacuum</tt> (<tt class="TYPE">boolean</tt>)</dt>
<dd><p>控制服务器是否应该启动 autovacuum 子进程。缺省是关闭的。要想启动这个进程，<tt class="VARNAME">stats_start_collector</tt> 和 <tt class="VARNAME">stats_row_level</tt> 也必须是打开的。这个选项只能在服务器启动的时候或者在 <tt class="FILENAME">postgresql.conf</tt> 文件里设置。</p></dd>
<dt><a name="GUC-AUTOVACUUM-NAPTIME"></a><tt class="VARNAME">autovacuum_naptime</tt> (<tt class="TYPE">integer</tt>)</dt>
<dd><p>声明 autovacuum 子进程的活跃周期之间的延迟。在每次运行的周期里，子进程都会检查一个数据库，并根据需要为该数据库的表发出 <tt class="COMMAND">VACUUM</tt> 和 <tt class="COMMAND">ANALYZE</tt> 命令。这个延迟是以秒计的，缺省为 60 。这个选项只能在服务器启动的时候或者在 <tt class="FILENAME">postgresql.conf</tt> 文件里设置。</p></dd>
<dt><a name="GUC-AUTOVACUUM-VACUUM-THRESHOLD"></a><tt class="VARNAME">autovacuum_vacuum_threshold</tt> (<tt class="TYPE">integer</tt>)</dt>
<dd><p>声明在任何表里触发 <tt class="COMMAND">VACUUM</tt> 所需最小的行更新或删除数量。缺省是 500 。这个选项只能在服务器启动的时候或者在 <tt class="FILENAME">postgresql.conf</tt> 文件里设置。此处的设置可以针对每个表被 <tt class="STRUCTNAME">pg_autovacuum</tt> 表中的项改写。</p></dd>
<dt><a name="GUC-AUTOVACUUM-ANALYZE-THRESHOLD"></a><tt class="VARNAME">autovacuum_analyze_threshold</tt> (<tt class="TYPE">integer</tt>)</dt>
<dd><p>声明在任何表里触发 <tt class="COMMAND">ANALYZE</tt> 所需最小的行插入、更新、删除数量。缺省是 250 。这个选项只能在服务器启动的时候或者在 <tt class="FILENAME">postgresql.conf</tt> 文件里设置。此处的设置可以针对每个表被 <tt class="STRUCTNAME">pg_autovacuum</tt> 表中的项改写。</p></dd>
<dt><a name="GUC-AUTOVACUUM-VACUUM-SCALE-FACTOR"></a><tt class="VARNAME">autovacuum_vacuum_scale_factor</tt> (<tt class="TYPE">floating point</tt>)</dt>
<dd><p>声明在判断是否触发一个 <tt class="COMMAND">VACUUM</tt> 时增加到 <tt class="VARNAME">autovacuum_vacuum_threshold</tt> 参数里面的表尺寸的分数。缺省是 0.2(20%)。这个选项只能在服务器启动的时候或者在 <tt class="FILENAME">postgresql.conf</tt> 文件里设置。此处的设置可以针对每个表被 <tt class="STRUCTNAME">pg_autovacuum</tt> 表中的项改写。</p></dd>
<dt><a name="GUC-AUTOVACUUM-ANALYZE-SCALE-FACTOR"></a><tt class="VARNAME">autovacuum_analyze_scale_factor</tt> (<tt class="TYPE">floating point</tt>)</dt>
<dd><p>声明在判断是否触发一个 <tt class="COMMAND">ANALYZE</tt> 时增加到 <tt class="VARNAME">autovacuum_analyze_threshold</tt> 参数里面的表尺寸的分数。缺省是 0.1(10%)。这个选项只能在服务器启动的时候或者在 <tt class="FILENAME">postgresql.conf</tt> 文件里设置。此处的设置可以针对每个表被 <tt class="STRUCTNAME">pg_autovacuum</tt> 表中的项改写。</p></dd>
<dt><a name="GUC-AUTOVACUUM-FREEZE-MAX-AGE"></a><tt class="VARNAME">autovacuum_freeze_max_age</tt> (<tt class="TYPE">integer</tt>)</dt>
<dd><p>指定表的 <tt class="STRUCTNAME">pg_class</tt>在事务中的最大寿命。<tt class="STRUCTFIELD">relfrozenxid</tt> 字段能够在强制 <tt class="COMMAND">VACUUM</tt> 操作以防止事务 ID在表内循环重复之前完成。需要注意的是，即使 autovacuum 被禁止系统也会调用 autovacuum 进程来防止循环重复。默认值是 200000000(2亿)。该参数只能在服务器启动时设置，但是此处的设置可以针对每个表被 <tt class="STRUCTNAME">pg_autovacuum</tt> 表中的项减少。更多信息请参见<a href="routine-vacuuming.html#VACUUM-FOR-WRAPAROUND">节22.1.3</a>。</p></dd>
<dt><a name="GUC-AUTOVACUUM-VACUUM-COST-DELAY"></a><tt class="VARNAME">autovacuum_vacuum_cost_delay</tt> (<tt class="TYPE">integer</tt>)</dt>
<dd><p>声明将在自动 <tt class="COMMAND">VACUUM</tt> 操作里使用的开销延迟数值。<tt class="LITERAL">-1</tt>(缺省值)将使用普通的 <a href="runtime-config-resource.html#GUC-VACUUM-COST-DELAY">vacuum_cost_delay</a> 数值。这个选项只能在服务器启动的时候或者在 <tt class="FILENAME">postgresql.conf</tt> 文件里设置。此处的设置可以针对每个表被 <tt class="STRUCTNAME">pg_autovacuum</tt> 表中的项改写。</p></dd>
<dt><a name="GUC-AUTOVACUUM-VACUUM-COST-LIMIT"></a><tt class="VARNAME">autovacuum_vacuum_cost_limit</tt> (<tt class="TYPE">integer</tt>)</dt>
<dd><p>声明将在自动 <tt class="COMMAND">VACUUM</tt> 操作里使用的开销限制数值。<tt class="LITERAL">-1</tt>(缺省值)将使用普通的 <a href="runtime-config-resource.html#GUC-VACUUM-COST-LIMIT">vacuum_cost_limit</a> 数值。这个选项只能在服务器启动的时候或者在 <tt class="FILENAME">postgresql.conf</tt> 文件里设置。此处的设置可以针对每个表被 <tt class="STRUCTNAME">pg_autovacuum</tt> 表中的项改写。</p></dd>
</dl>
</div>
</div>
<div>
<hr align="LEFT" width="100%">
<table summary="Footer navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><td width="33%" align="left" valign="top"><a href="runtime-config-statistics.html" accesskey="P">后退</a></td><td width="34%" align="center" valign="top"><a href="index.html" accesskey="H">首页</a></td><td width="33%" align="right" valign="top"><a href="runtime-config-client.html" accesskey="N">前进</a></td></tr>
<tr><td width="33%" align="left" valign="top">运行时统计</td><td width="34%" align="center" valign="top"><a href="runtime-config.html" accesskey="U">上一级</a></td><td width="33%" align="right" valign="top">客户端连接缺省</td></tr>
</table>
</div>
</body></html>